package com.ytjj.qmyx.admin.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.qmyx.admin.model.Dept;
import com.ytjj.qmyx.admin.model.Role;
import com.ytjj.qmyx.admin.model.request.DeptReq;
import com.ytjj.qmyx.admin.model.vo.DeptVO;

import java.util.List;

public interface DeptService {

    /**
     * 查询部门详情列表
     * 模糊查询（按用户名称）
     * @param deptReq
     * @return
     */
    CommonPage<DeptVO> deptLists(DeptReq deptReq);

    /**
     * 查询部门列表
     * @return
     */
    List<DeptVO> deptList(Dept dept);


    List<Role> roleList(Integer id);

    /**
     * 新增部门信息
     * @param deptName
     * @return
     */
    int insertDept(String deptName);

    /**
     * 修改部门信息
     * @param dept
     * @return
     */
    int updateDept(Dept dept);

    /**
     * 按部门ID查询部门信息
     * @param id
     * @return
     */
    Dept selectDept(Integer id);

    /**
     * 移除部门
     * 逻辑删除
     * @param id
     * @return
     */
    int deleteDept(Integer id);

    /**
     * 按部门id查询部门下是否有用户
     * @param id
     * @return
     */
    int adminList(Integer id);

    /**
     * 根据部门id查询角色
     * @param
     * @return
     */
    List<Role> findRoleByDeptId(Integer id);

    /**
     * 查询部门名称
     * @return
     */
    Integer findByDeptName(String deptName);

    /**
     * 根据adminid修改角色
     * @return
     */
    int updateRoleByAdminId(Integer roleId,Integer adminId);
}
